package cn.iocoder.yudao.module.trade.service.brokerage;

import java.util.*;
import javax.validation.*;
import cn.iocoder.yudao.module.trade.controller.admin.brokerage.vo.log.BrokerageLogPageReqVO;
import cn.iocoder.yudao.module.trade.controller.admin.brokerage.vo.log.BrokerageLogSaveReqVO;
import cn.iocoder.yudao.module.trade.controller.app.brokerage.vo.log.AppBrokerageLogPageReqVO;
import cn.iocoder.yudao.module.trade.controller.app.brokerage.vo.log.AppBrokerageLogRespVO;
import cn.iocoder.yudao.module.trade.dal.dataobject.brokerage.BrokerageLogDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;

/**
 * 佣金操作日志 Service 接口
 *
 * @author JackChen
 */
public interface BrokerageLogService {

    /**
     * 创建佣金操作日志
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    Long createBrokerageLog(@Valid BrokerageLogSaveReqVO createReqVO);

    /**
     * 更新佣金操作日志
     *
     * @param updateReqVO 更新信息
     */
    void updateBrokerageLog(@Valid BrokerageLogSaveReqVO updateReqVO);

    /**
     * 删除佣金操作日志
     *
     * @param id 编号
     */
    void deleteBrokerageLog(Long id);

    /**
     * 获得佣金操作日志
     *
     * @param id 编号
     * @return 佣金操作日志
     */
    BrokerageLogDO getBrokerageLog(Long id);

    /**
     * 获得佣金操作日志分页
     *
     * @param pageReqVO 分页查询
     * @return 佣金操作日志分页
     */
    PageResult<BrokerageLogDO> getBrokerageLogPage(BrokerageLogPageReqVO pageReqVO);
    /**
     * 获得佣金操作日志分页
     *
     * @param pageReqVO 分页查询
     * @return 佣金操作日志分页
     */
    PageResult<BrokerageLogDO> getAppBrokerageLogPage(AppBrokerageLogPageReqVO pageReqVO);
}